package com.zzy.demo.common.dto;

/**
 * @author guokaige
 *
 */
public class CodeMsg {

	private int code;
	private String msg;

	/**
	 * 通用的错误码
	 */
	public static final CodeMsg SUCCESS = new CodeMsg(0, "success");
	public static final CodeMsg FAIL = new CodeMsg(-1, "fail");
	public static final CodeMsg SERVER_ERROR = new CodeMsg(500100, "服务端异常");
	public static final CodeMsg BIND_ERROR = new CodeMsg(500101, "参数校验异常：%s");
	public static final CodeMsg RELATED_ERROR = new CodeMsg(500102, "存在级联关系无法删除或注销");
	public static final CodeMsg NAME_UNIQUE_ERROR = new CodeMsg(500103, "该名称已存在，请重新输入");
	public static final CodeMsg CODE_UNIQUE_ERROR = new CodeMsg(500104, "该代码已存在，请重新输入");
	/**
	 * 登录模块 5002XX
	 */

	public static final CodeMsg SESSION_ERROR = new CodeMsg(500210, "Session不存在或者已经失效");
	public static final CodeMsg PASSWORD_EMPTY = new CodeMsg(500211, "登录密码不能为空");
	public static final CodeMsg MOBILE_EMPTY = new CodeMsg(500212, "手机号不能为空");
	public static final CodeMsg MOBILE_ERROR = new CodeMsg(500213, "手机号格式错误");
	public static final CodeMsg MOBILE_NOT_EXIST = new CodeMsg(500214, "手机号不存在");
	public static final CodeMsg PASSWORD_ERROR = new CodeMsg(500215, "密码错误");
	public static final CodeMsg ACCOUNT_ERROR = new CodeMsg(500216, "无此用户");

	// 商品模块 5003XX

	// 订单模块 5004XX

	// 秒杀模块 5005XX

	public CodeMsg() {
	}

	public CodeMsg(int code, String msg) {
		this.code = code;
		this.msg = msg;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public CodeMsg fillArgs(Object... args) {
		int code = this.code;
		String message = String.format(this.msg, args);
		return new CodeMsg(code, message);
	}

	@Override
	public String toString() {
		return "CodeMsg [code=" + code + ", msg=" + msg + "]";
	}

}
